package exception;

/**
 * finally常见面试题
 *
 * 请分别说明:final,finally,finalize
 * final:按照克晶老师笔记说
 * finally:按照FinallyDemo案例笔记说
 * finalize:是一个方法，在Object中定义的，被GC调用:当GC即将释放一个对象时最后会
 *          调用该方法，方法调用后该对象会被垃圾回收。
 *          finalize是一个对象生命周期中最后一个被调用的方法。
 *
 */
public class FinallyDemo3 {
    public static void main(String[] args) {
        System.out.println(
             test("0")+","+test(null)+","+test("")
        );//3,3,3
    }
    public static int test(String str){
        try {
            return str.charAt(0)-'0';
        } catch (NullPointerException e) {
            return 1;
        } catch (Exception e){
            return 2;
        } finally {
            return 3;
        }
    }
}










